package com.ontheroad.path.model;

import java.util.Date;
import java.io.Serializable;
import java.util.List;

import org.mybatis.annotation.Table;


/**
 * PathSystem对象定义
 * <p>
 * 工具自动生成代码
 *
 * @author Admin
 */
@Table(pkId = {"id"}, tabName = "path_system",notColumn = {"points"})
public class PathSystemModel implements Serializable {

    /**
     * uid
     */
    private static final long serialVersionUID = 1L;
    /**  */
    private Long id;
    /**
     * 开始位置(名称)
     */
    private String start;
    /**
     * 结束位置(名称)
     */
    private String end;
    /**
     * 轨迹别名
     */
    private String name;
    /**
     * 该轨迹的长度(米）
     */
    private Double kilometre = 0.0;
    /**
     * 时长
     */
    private Double time;
    /**
     * 最高海拔
     */
    private Double altitude;
    /**
     * 累计爬升高度
     */
    private Double height;
    /**
     * 平均速度
     */
    private Double speed;
    /**
     * 如果该轨迹是从用户轨迹升级为系统轨迹则该字段填用户轨迹id，否则不填
     */
    private Integer pathUserId;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 创建人
     */
    private Integer createId;
    /**
     * 轨迹的geojson格式数据
     */
    private String geojson;
    /**
     * 轨迹的gpx格式数据
     */
    private String gpx;

    private Boolean isPublish;

    private Long timestamp;

    /**
     * 1：官方轨迹，2：热门轨迹，3：推荐轨迹
     */
    private Integer type;

    private List<Point> points;

    /**
     * 取得
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 取得开始位置(名称)
     */
    public String getStart() {
        return start;
    }

    /**
     * 设置开始位置(名称)
     */
    public void setStart(String start) {
        this.start = start;
    }

    /**
     * 取得结束位置(名称)
     */
    public String getEnd() {
        return end;
    }

    /**
     * 设置结束位置(名称)
     */
    public void setEnd(String end) {
        this.end = end;
    }

    /**
     * 取得轨迹别名
     */
    public String getName() {
        return name;
    }

    /**
     * 设置轨迹别名
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 取得该轨迹的长度(公里）
     */
    public Double getKilometre() {
        return kilometre;
    }

    /**
     * 设置该轨迹的长度(公里）
     */
    public void setKilometre(Double kilometre) {
        this.kilometre = kilometre;
    }

    /**
     * 取得时长
     */
    public Double getTime() {
        return time;
    }

    /**
     * 设置时长
     */
    public void setTime(Double time) {
        this.time = time;
    }

    /**
     * 取得最高海拔
     */
    public Double getAltitude() {
        return altitude;
    }

    /**
     * 设置最高海拔
     */
    public void setAltitude(Double altitude) {
        this.altitude = altitude;
    }

    /**
     * 取得累计爬升高度
     */
    public Double getHeight() {
        return height;
    }

    /**
     * 设置累计爬升高度
     */
    public void setHeight(Double height) {
        this.height = height;
    }

    /**
     * 取得平均速度
     */
    public Double getSpeed() {
        return speed;
    }

    /**
     * 设置平均速度
     */
    public void setSpeed(Double speed) {
        this.speed = speed;
    }

    /**
     * 取得如果该轨迹是从用户轨迹升级为系统轨迹则该字段填用户轨迹id，否则不填
     */
    public Integer getPathUserId() {
        return pathUserId;
    }

    /**
     * 设置如果该轨迹是从用户轨迹升级为系统轨迹则该字段填用户轨迹id，否则不填
     */
    public void setPathUserId(Integer pathUserId) {
        this.pathUserId = pathUserId;
    }

    /**
     * 取得创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 取得创建人
     */
    public Integer getCreateId() {
        return createId;
    }

    /**
     * 设置创建人
     */
    public void setCreateId(Integer createId) {
        this.createId = createId;
    }

    /**
     * 取得轨迹的geojson格式数据
     */
    public String getGeojson() {
        return geojson;
    }

    /**
     * 设置轨迹的geojson格式数据
     */
    public void setGeojson(String geojson) {
        this.geojson = geojson;
    }

    /**
     * 取得轨迹的gpx格式数据
     */
    public String getGpx() {
        return gpx;
    }

    /**
     * 设置轨迹的gpx格式数据
     */
    public void setGpx(String gpx) {
        this.gpx = gpx;
    }

    public Boolean getIsPublish() {
        return isPublish;
    }

    public void setIsPublish(Boolean publish) {
        isPublish = publish;
    }

    public Long getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(Long timestamp) {
        this.timestamp = timestamp;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public List<Point> getPoints() {
        return points;
    }

    public void setPoints(List<Point> points) {
        this.points = points;
    }
}
